The best books that teach and inspire the best programmers

Why am I passionate about this?

I started programming in high school and wrote software in many domains for 30 years, from the early ARPA-net to massive credit card software. I wrote a FORTRAN compiler with one assistant in a year. I got hassled to do proper project management. Nightmare. It was all about inflated expectations instead of moving fast and winning. Then in 25 years of venture capital investing, I learned from many young companies how the little startups built quickly and well things that giants like Google literally could not get done. This book and my others spell out what I learned from the little guys who beat the giants.


I wrote...

Wartime Software

By David B. Black,

Book cover of Wartime Software

What is my book about?

If your goal is to learn the standard techniques of software, don't waste your time with my books. If you don’t have the time or money to beat the industry giants with 100X your resources, this book has my observations about how many small groups over decades have used methods that aren’t taught to compete and win. 

Peacetime software is all about requirements, estimates, and meeting the expectations that have been set. If you say it will take 100 programmers two years to do it and you sort of get it done in 23 months, you’re a hero. But if you’re in the Olympics, all that matters is running faster than everyone else. The MBA’s and experienced managers will say you’re breaking the rules. Wrong. You’re just following better ones.

Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

The books I picked & why

Book cover of C Programming Language

David B. Black Why did I love this book?

This is the defining book on the C language, written by the authors of the language and published in 1978.

By the early 1980’s it became the standard for writing systems software, helped by the fact that the UNIX operating system was written in it. UNIX grew to become the world’s dominant operating system, running over 90% of the world’s web servers. 

By the time I encountered the language I already had programmed extensively in assembler, COBOL, FORTRAN, and other languages. I had written a commercial FORTRAN compiler. The language changed my world, and this book was unique then and now for being written by the creators of the language that changed the world of programming forever.

Nothing about all the languages since C makes things better – yes, including C++. All they do is add complexity and put unnecessary constraints on language, along with continuing the focus on language when your goal as a programmer should be to write as little code as possible, putting everything you can into easily editable metadata.

By Brian Kernighan, Dennis Ritchie,

Why should I read it?

3 authors picked C Programming Language as one of their favorite books, and they share why you should read it.

What is this book about?

This edition describes C as defined by the ANSI standard. This book is meant to help the reader learn how to program in C. The book assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and functions. A novice programmer should be able to read along and pick up the language.


Book cover of The Art of Computer Programming, Volume 4, Fascicle 1, The: Bitwise Tricks & Techniques; Binary Decision Diagrams

David B. Black Why did I love this book?

This is the definitive book series on algorithms and the core of computer programming.

Unlike most such books, Knuth is a real programmer, deep into the details of the craft, to the point of creating his own assembler language and typesetting generation system. It’s partly the substance of the algorithms and their analysis, but even more is the way he models a way of thinking about and solving complexity that makes this a must-read series.

By Donald Knuth,

Why should I read it?

1 author picked The Art of Computer Programming, Volume 4, Fascicle 1, The as one of their favorite books, and they share why you should read it.

What is this book about?

Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually.



The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e

ISBN: 0321751043









Art of Computer Programming, Volume 4, Fascicle 1, The: Bitwise Tricks & Techniques; Binary Decision Diagrams: Bitwise Tricks & Techniques; Binary Decision Diagrams



This multivolume work on the analysis of algorithms has long been recognized…


Book cover of Principles of Compiler Design

David B. Black Why did I love this book?

Attending Harvard College gave me the opportunity to collaborate with great programmers in creating the early ARPA-net. But the best course I took was on compiler theory and construction, using an early draft of the material in this book.

Of course I learned how to build a compiler, which I did as my first job after graduating. But more important, I learned that a well-built compiler is a small amount of language-independent code with two major parts.

First the input part that realizes the content of the lexical and grammatical metadata, like today’s LEX and YACC, to turn the program being compiled into a semantic model.

Second the code generator that reads the semantic model and, based on generative model metadata, turns the semantics of the program being compiled to whatever form you want, whether executable code, assembler language, byte code or whatever.

This approach, while indispensable for compilers and interpreters, is also the model for taking a meta-data-driven approach to building software applications of any kind.

By Alfred V. Aho, Jeffrey D. Ullman,

Why should I read it?

1 author picked Principles of Compiler Design as one of their favorite books, and they share why you should read it.

What is this book about?

Computer science


Book cover of Gödel's Proof

David B. Black Why did I love this book?

Nagel’s book is the most understandable explanation I’ve found about one of the most cosmically seminal math proofs: Godel’s incompleteness theorem.

It takes the idea of recursion and self-reference to the ultimate conclusion about truth, understanding, and boundaries of existence. This may sound hootie-tootie, but think of the sequence of abstraction in math: arithmetic, algebra, calculus, etc.

Once you add in recursion (self-reference), you’ve got the most important concepts underlying true understanding and productivity in software – something never discussed in computer science, and certainly not in practical programming.

Think about the so-called Von Neumann computer architecture, which underlies all modern computers – instructions are data, stored in the same place as ordinary data, and some instructions write data that are instructions. This is recursion taken to the next level. 

By Ernest Nagel,

Why should I read it?

2 authors picked Gödel's Proof as one of their favorite books, and they share why you should read it.

What is this book about?

An accessible explanation of Kurt Goedel's groundbreaking work in mathematical logic
In 1931 Kurt Goedel published his fundamental paper, "On Formally Undecidable Propositions of Principia Mathematica and Related Systems." This revolutionary paper challenged certain basic assumptions underlying much research in mathematics and logic. Goedel received public recognition of his work in 1951 when he was awarded the first Albert Einstein Award for achievement in the natural sciences-perhaps the highest award of its kind in the United States. The award committee described his work in mathematical logic as "one of the greatest contributions to the sciences in recent times."
However, few…


Book cover of Gödel, Escher, Bach: An Eternal Golden Braid

David B. Black Why did I love this book?

This book explains fundamental concepts of recursion, symmetry, intelligence, focusing on math, art, and music.

It’s full of wonderful tales, amazing facts, little-talked-about relationships among math, art, and music (and by reference computing), not to mention puns and amusing language. If you want to become a better person, this is a good book to read. If you want to understand and succeed in life, ditto.

If you let this book lift your mind to its space and height, you will find yourself vastly more capable of creating and understanding software. It’s a wonderful companion to the Ernest Nagel book I’ve recommended.

By Douglas R. Hofstadter,

Why should I read it?

13 authors picked Gödel, Escher, Bach as one of their favorite books, and they share why you should read it.

What is this book about?

Douglas Hofstadter's book is concerned directly with the nature of maps" or links between formal systems. However, according to Hofstadter, the formal system that underlies all mental activity transcends the system that supports it. If life can grow out of the formal chemical substrate of the cell, if consciousness can emerge out of a formal system of firing neurons, then so too will computers attain human intelligence. Goedel, Escher, Bach is a wonderful exploration of fascinating ideas at the heart of cognitive science: meaning, reduction, recursion, and much more.


You might also like...

Act Like an Author, Think Like a Business: Ways to Achieve Financial Literary Success

By Joylynn M Ross, Falessia Booker (editor),

Book cover of Act Like an Author, Think Like a Business: Ways to Achieve Financial Literary Success

Joylynn M Ross

New book alert!

What is my book about?

Act Like an Author, Think Like a Business is for anyone who wants to learn how to make money with their book and make a living as an author. Many authors dive into the literary industry without taking time to learn the business side of being an author, which can hinder book sales and the money that can be made as an author.

This resource serves as a guide to mastering the art of financial literary success and to help avoid the mistakes that many authors make while learning the ropes on their own. This book helps authors “think outside…

Act Like an Author, Think Like a Business: Ways to Achieve Financial Literary Success

By Joylynn M Ross, Falessia Booker (editor),

What is this book about?

Do you want to make money with your book? Do you want to make a living as an author? There’s more to doing so than simply writing and publishing your book. Many authors dive into the literary industry without taking time to learn the business side of being an author. This could dramatically hinder your book sales and the money you can make as an author. Without a guide such as this, mastering the art of financial literary success can take you years, and you’ll be sure to make mistakes during the learning phase. Some mistakes could cost you money;…


5 book lists we think you will like!

Interested in artificial intelligence, computer programming, and presidential biography?

11,000+ authors have recommended their favorite books and what they love about them. Browse their picks for the best books about artificial intelligence, computer programming, and presidential biography.

Artificial Intelligence Explore 290 books about artificial intelligence
Computer Programming Explore 39 books about computer programming
Presidential Biography Explore 19 books about presidential biography